package ar.edu.utn.frba.disenio.aterrizar.filtros;

import java.util.ArrayList;

import ar.edu.utn.frba.disenio.aterrizar.aerolineas.Vuelo;
import ar.edu.utn.frba.disenio.aterrizar.busquedas.BusquedaFiltrada;
import ar.edu.utn.frba.disenio.aterrizar.busquedas.DecoratorFiltroOpcional;

public class Precio extends DecoratorFiltroOpcional{

	public double precioDesde;
	public double precioHasta;
	
	public Precio(double unPrecioDesde, double unPrecioHasta, BusquedaFiltrada busquedaaFiltrar) {
	    super(busquedaaFiltrar);
	    
	    if(unPrecioDesde != -1){
	    	this.precioDesde = unPrecioDesde;
	    }else{
	    	this.precioDesde = -1;
	    }
	    
	    if(unPrecioDesde != -1){
	    	this.precioHasta = unPrecioHasta;
	    }else{
	    	this.precioHasta = -1;
	    }
	  }
	
	@Override
	public ArrayList<Vuelo> buscarVuelos(){
		
		ArrayList<Vuelo> busquedaaFiltrar = busqueda.buscarVuelos();
		if( (this.precioDesde != -1) || (this.precioHasta != -1) ){
			ArrayList<Vuelo> retVal = new ArrayList<Vuelo>();
			for(Vuelo unVuelo : busquedaaFiltrar){
				if((unVuelo.valor >= this.precioDesde) && (unVuelo.valor <= this.precioHasta)){
					retVal.add(unVuelo);	
				}
	        }		
			return retVal;	
		}
		return busquedaaFiltrar;
	}
	
	public String armarPrecio(){
		String string = (Double.toString(precioDesde).concat("-").concat(Double.toString(precioHasta)));
		return string;
	}
}
